import jweixin from '@/common/jweixin';
let __user_token = '';
export default {
	// 判断是否公众号（微信H5）
	isWechat() {
		const ua = window.navigator.userAgent.toLowerCase();
		if (ua.match(/micromessenger/i) == 'micromessenger') {
			return true;
		} 
		return false;
	},
	// wxjssdk
	async wxConfigH5(_this,link) {
		if (this.isWechat()) {
			const jsApiList = JSON.stringify([
				'chooseWXPay',
				'scanQRCode',
				'updateAppMessageShareData',
				'updateTimelineShareData'
			]);
			await _this.$u.post(`/weixin/api.Index/getShareSign`, {
					url: link
				})
				.then(r => {
					__user_token = r.data.user_token;
					jweixin.config({
						debug: r.data.debug==1?true:false,
						appId: r.data.appId,
						timestamp: r.data.timestamp,
						nonceStr: r.data.nonceStr,
						signature: r.data.signature,
						jsApiList: [
						'updateAppMessageShareData',
						'updateTimelineShareData'
						]
					})
				});
		}
	},
	//公众号分享
	async share(_this,title, desc,  imgUrl) {
	  if (this.isWechat()) {
		let link = window.location.href;
	    await this.wxConfigH5(_this,link);
	    jweixin.ready(function () {
			jweixin.hideOptionMenu();
			if (typeof(title) == 'undefined'){
				return false;
			}
		
		  let pages = getCurrentPages();
		  let curPage = pages[pages.length-1];
		  curPage.options.share_token = __user_token;
		  link = _this.config.baseUrl+curPage.route+'?'+_this.app.objectToQueryString(curPage.options);
		  
	      // eslint-disable-next-line
	      jweixin.updateAppMessageShareData({
	        title, // 分享标题
	        desc, // 分享描述
	        link, // 分享链接，该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
	        imgUrl, // 分享图标
	        success: function () {
	          // 用户确认分享后执行的回调函数
	        },
	        cancel: function () {
	          // 用户取消分享后执行的回调函数
	        }
	      });
	      // eslint-disable-next-line
	      jweixin.updateTimelineShareData({
	        title, // 分享标题
	        desc, // 分享描述
	        link, // 分享链接，该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
	        imgUrl, // 分享图标
	        success: function () {
	          // 用户确认分享后执行的回调函数
	        },
	        cancel: function () {
	          // 用户取消分享后执行的回调函数
	        }
	      });
		  
		  jweixin.showOptionMenu();
	    });
	  }
	},
}